//
//  NSDate + Extension.swift
//  微博新浪
//
//  Created by hezerong on 16/6/17.
//  Copyright © 2016年 Rocky. All rights reserved.
//

import Foundation

//NSDateFormatter， 一是以某种特定的格式把时间(NSDate)转字符串，一个是把某种特定格式的字符串转时间
let sz_dataFormatter = NSDateFormatter()

//NSCalendar：判断当前时间，
let sz_calendar = NSCalendar.currentCalendar()

extension NSDate{

    class func getDateFromSina(sinaDataString:String) ->NSDate {
        
        sz_dataFormatter.dateFormat = "EEE MMM DD HH:mm:ss zzz yyyy"
        sz_dataFormatter.locale = NSLocale(localeIdentifier: "en")
        
        return sz_dataFormatter.dateFromString(sinaDataString)!
    }
    
    //计算属性
    //extension 里面不能添加存储属性和指定构造函数，但是可以添加计算属性和便利构造器
    var sina_description:String{
    
        if sz_calendar.isDateInToday(self){
        
         let seconds = Int(NSDate().timeIntervalSinceDate(self))
            
            if seconds < 60 {return "刚刚"}
            if seconds < 3600 {return "\(seconds/60)分钟前"}
            if seconds < 3600*24 {return "\(seconds/3600)小时前"}
           
        }
        
        //要生成的时间字符串格式
        var format = "HH:mm"
        
        if sz_calendar.isDateInYesterday(self){
        
            format = "昨天" + format
        }else{
        
            let thisYear = sz_calendar.components(.Year, fromDate: NSDate()).year
            let year = sz_calendar.components(.Year, fromDate: self).year
            
            //相等说明是今年
            if thisYear == year{
            
                format = "MM-dd " + format
            }else{
            
                format = "yyyy-MM-dd " + format
            }
        }
        
        sz_dataFormatter.dateFormat = format
        sz_dataFormatter.locale = NSLocale(localeIdentifier: "en")
        
        return sz_dataFormatter.stringFromDate(self)
       
    }

}
